#ifndef OPTRA_H
#define OPTRA_H

#include <defs/export.h>
#include <defs/global.h>
#include <core/entityobject.h>


#include <QtCore>

namespace Optra{ namespace Extensions {
        class Context;
};};

class WindowsManager;
class Desktop;

O_PRIVATE_DECLARE(OptraCore);
class OptraCore : public Opl::Core::EntityObject {
    Q_OBJECT
    Q_PROPERTY(QString help READ help);
    Q_PROPERTY(const Optra::Extensions::Context* context READ context);
    Q_PROPERTY(const WindowsManager* windowsmanager READ windowsmanager)
public:
	OptraCore(Opl::Core::EntityObject *parent = 0, Optra::Extensions::Context* ctx = 0);
	~OptraCore();

	const Optra::Extensions::Context* context()const;
	const WindowsManager* windowsmanager()const;
	virtual QString help()const;

public slots:

private:
	O_PRIVATE_DECLARE_MEMBER(OptraCore);
};

#endif // OPTRA_H

